草庐IT

Java float 表示为十六进制数

全部标签

c# - C# 的 typeof 运算符(或其在 MSIL 中的任何表示形式)的效率

我知道过早优化是万恶之母。但是,我正在定义一个通用方法,该方法使用反射来检索其通用类型的元数据,并且想知道是否像以下代码片段那样多次调用typeof(T):privatestaticDictionaryelementProperties;privatestaticTMakeElement(SqlDataReaderreader)whereT:class,new(){PropertyInfo[]properties;if(elementProperties.ContainsKey(typeof(T)))properties=elementProperties[typeof(T)];els

c# - C# 中的斐波那契、二进制或二项式堆?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion是否有任何堆数据结构实现,斐波那契、二进制或二项式?引用:这些是用于实现优先级队列的数据结构,而不是用于分配动态内存的数据结构。参见http://en.wikipedia.org/wiki/Heap_(data_structure)谢谢,戴夫

c# - 在 C# 中将 double 转换为十六进制

我有这个值:doubleheadingAngle=135.34375;我想将它转换为十六进制并将十六进制打印到控制台。我已经将string和int转换为它们各自的HEX值,但是double似乎要棘手得多。有人能指出我正确的方向吗? 最佳答案 好吧,我用谷歌搜索了一两分钟,然后根据this这是一个非常优雅的解决方案doubled=12.09;Console.WriteLine("Doublevalue:"+d.ToString());byte[]bytes=BitConverter.GetBytes(d);Console.WriteL

c# - Dictionary<Key, Value> 上 .NET 二进制序列化的奇怪行为

我在.NET的二进制序列化中遇到了一个奇怪的行为,至少符合我的预期。在OnDeserialization回调之后,加载的Dictionary的所有项目都被添加到它们的父级。相比之下,List则采用另一种方式。这在现实世界的存储库代码中可能真的很烦人,例如,当您需要向字典项添加一些委托(delegate)时。请检查示例代码并观察断言。这是正常行为吗?[Serializable]publicclassData:IDeserializationCallback{publicListList{get;set;}publicDictionaryDictionary{get;set;}public

c# - 十六进制到 int C# 非常大的数字

我有一个包含十六进制值的256个字符长的字符串:EC851A69B8ACD843164E10CFF70CF9E86DC2FEE3CF6F374B43C854E3342A2F1AC3E30C741CC41E679DF6D07CE6FA3A66083EC9B8C8BF3AF05D8BDBB0AA6CB3EF8C5BAA2A5E531BA9E28592F99E0FE4F95169A6C63F635D0197E325C5EC76219B907E4EBDCD401FB1986E4E3CA661FF73E7E2B8FD9988E753B7042B2BBCA76679我想把它转换成这样的数字字符串:

c# - SQLCommand.Parameters.Add - 如何给出十进制值大小?

您将如何指定:Decimal(18,2)在此:SqlComm.Parameters.Add("@myValue",SqlDbType.Decimal,0,"myValue");目前我已经从设计端属性定义了precision=2。我只是好奇如何从代码中实现这一点。谢谢 最佳答案 没有Add的重载可让您直接设置小数精度,因此您需要创建一个SQlParameter对象并将其添加到集合中:SqlParameterparam=newSqlParameter("@myValue",SqlDbType.Decimal);param.SourceC

c# - C# 中的十进制 ToString() 转换问题

当我尝试将decimal?转换为string时遇到问题。场景是decimaldecimalValue=.1211;stringvalue=(decimalValue*100).ToString();当前结果:值=12.1100预期结果:值=12.11请告诉我,这可能是什么原因。 最佳答案 Decimal保留Decimal中的任何尾随零数字。如果你想要两位小数:decimal?decimalValue=.1211m;stringvalue=((decimal)(decimalValue*100)).ToString("#.##")ht

c# - 将十进制转换为非默认格式的字符串

我需要在这个标尺中将十进制转换为字符串:120.00-"120"120.01-"120.01"120.50-"120.50" 最佳答案 您可以使用decimal.ToString重写以指定格式。decimalamount=120.00m;stringstr=amount.ToString("0.00");这也可以在使用String.Format时使用。Console.WriteLine("{0:0.00}",amount);对于您的第一条规则,它不能在一行中完成。decimalamount=120.00m;stringstr=amo

c# - 如何忽略二进制序列化的事件类成员?

我需要避免序列化Event类成员,因为当事件由未标记为可序列化的对象处理时,序列化将失败。我尝试在Event类成员上使用NonSerialized属性,但编译失败。这行代码:PublicEventPropertyValueChanged()产生以下错误:Attribute'NonSerializedAttribute'cannotbeappliedto'PropertyValueChanged'becausetheattributeisnotvalidonthisdeclarationtype.PublicEventPropertyValueChanged()'compilesbutn

c# - 从 RGB 整数转换为十六进制

我拥有的是R:255G:181B:178,我正在使用C#(对于WP8,更具体地说)我想将其转换为十六进制数以用作颜色(以设置WriteableBitmap的像素颜色)。我正在做的是以下内容:inthex=(255但是当我这样做的时候,我只是变得忧郁。知道我做错了什么吗?此外,要撤消此操作,检查RGB值,我将:intr=((byte)(hex>>16));//=0intg=((byte)(hex>>8));//=0intb=((byte)(hex>>0));//=255 最佳答案 尝试以下操作:usingSystem.Drawing;